package es.sjdigital.rv.logica.permiso;

import java.util.List;

import es.sjdigital.rv.datos.dao.PermisosDAO;
import es.sjdigital.rv.datos.vo.PermisosVO;
import es.sjdigital.rv.interfaz.permiso.Permiso_dto;
import es.sjdigital.rv.interfaz.permiso.Propietario_dto;
import es.sjdigital.rv.interfaz.permiso.manage.*;

public class GetPermisos_op {

public GetPermisos_dto_out getPermisos_op(GetPermisos_dto_in request) throws Error {
    	
	PermisosDAO permisoDAO = new PermisosDAO();
	GetPermisos_dto_out result = new GetPermisos_dto_out();
	try {
		//Obtenemos permisos del DAO
		List<PermisosVO> permisos = permisoDAO.getPermisos(request.getId_permiso());
		
		//Poblamos el array de resultados
		for (int i=0; i<permisos.size(); i++){
			//Inicializamos las variables
			Permiso_dto perm_parcial = new Permiso_dto();
			Propietario_dto prop_parcial = new Propietario_dto();
			
			prop_parcial.setNombre(permisos.get(i).getPropietario());
			prop_parcial.setUrl(permisos.get(i).getUrl());
			perm_parcial.setId(permisos.get(i).getId());
			perm_parcial.setFormula(permisos.get(i).getFormula());
			perm_parcial.setPropietario(prop_parcial);
			result.addPermiso(perm_parcial);
		}
    	
    	return result;
		} catch (Error e){
			throw e;
		} catch (Exception e) {
			throw e;
		}
	}
}
